home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Suzy B Software 2
/
Suzy B Software CD-ROM 2 (1994).iso
/
extras
/
programm
/
gemfsc19
/
gemfsc19.lzh
/
GEMFBIND
/
VQTNAME.S
< prev
next >
Wrap
Text File
|
1993-03-26
|
2KB
|
61 lines
;*========================================================================
;* VDIFAST Public Domain VDI bindings.
;*========================================================================
;*------------------------------------------------------------------------
;* Inquire font face name and index.
;* 09/01/91 v1.7
;* Fixed vqt_name per M. Jaegermann's suggestions. The length
;* of the returned ADE string from contrl[4] is now used to
;* build the return ascii string, since ADE strings are counted,
;* not nullterm'd. Also, made sure there was room for 33 chars
;* of output in the intout array, due to the proposed fsmgdos
;* change which adds an extra byte of return info to the string.
;*------------------------------------------------------------------------
globl _vqt_name
_vqt_name:
; .cargs #8,handle.w,element.w,namestr.l
handle = 8
element = 10
namestr = 12
link a6,#-68 ;* Allocate intout[34].
; VContrl #130,,,#1
move.w handle(a6),-(sp) ; contrl[6]
clr.l -(sp) ; contrl[5,4]
move.w #1,-(sp) ; contrl[3]
subq.l #2,sp ; contrl[2]
clr.w -(sp) ; contrl[1]
move.w #130,-(sp) ; contrl[0]
subq.l #4,sp ;* -> ptsout
pea -68(a6) ;* -> intout
subq.l #4,sp ;* -> ptsin
pea element(a6) ;* -> intin
pea 16(sp) ;* -> contrl
move.l sp,d1
jsr vditrap
lea 20(sp),sp ;* clean off vdipb groodah.
lea -66(a6),a0 ;* Pointer to intout.
move.l namestr(a6),a1 ;* Pointer to caller's string.
move.w 8(sp),d0 ;* load contrl[4]: outstr length.
subq.w #1,d0 ;* account for intout[0] not copied.
strloop:
move.w (a0)+,d1 ;* Return normal string from
move.b d1,(a1)+ ;* intout[1-34]. Copy low byte of
subq.w #1,d0 ;* decrement string count.
bne.b strloop ;* each word to string byte.
clr.b (a1) ;* force nullterm onto string.
move.w -68(a6),d0 ;* retval intout[0] in d0.
unlk a6
rts
end